37 research outputs found

    Cooperation between the {B} method and the automata theory to check the component interoperability

    No full text
    International audienceComponent interoperability is one of the essential issues in the component based development, since it allows the composition of reusable heterogenous components developed by different people. In this paper, we propose an approach to formally verify component interoperability at signature, semantics, and protocol levels. It is based on the use of the B formal method for specifying component interfaces and finite transition systems for specifying component protocols. The verification is done with the B theorem prover and the verification of the simulation relation between transition systems. This approach allows to decide whether two components can interoperate if assembled together and whether a component can be replaced by another component

    PLTL Partitioned Model Checking for Reactive Systems under Fairness Assumptions

    Full text link
    We are interested in verifying dynamic properties of finite state reactive systems under fairness assumptions by model checking. The systems we want to verify are specified through a top-down refinement process. In order to deal with the state explosion problem, we have proposed in previous works to partition the reachability graph, and to perform the verification on each part separately. Moreover, we have defined a class, called Bmod, of dynamic properties that are verifiable by parts, whatever the partition. We decide if a property P belongs to Bmod by looking at the form of the Buchi automaton that accepts the negation of P. However, when a property P belongs to Bmod, the property f => P, where f is a fairness assumption, does not necessarily belong to Bmod. In this paper, we propose to use the refinement process in order to build the parts on which the verification has to be performed. We then show that with such a partition, if a property P is verifiable by parts and if f is the expression of the fairness assumptions on a system, then the property f => P is still verifiable by parts. This approach is illustrated by its application to the chip card protocol T=1 using the B engineering design language

    Adaptation des Protocoles des Composants par les Automates d'Interface

    No full text
    National audienceUn des objectifs de l'ingénierie des logiciels base de composants (CBSE) est de permettre la réutilisation des composants sans affecter leurs implémentations. Pour atteindre cet objectif, il est nécessaire de proposer des méthodes et des outils d'adaptation des composants avec leur environnement lorsque des incompatibilités se produisent au cours de leurs interactions. Dans ce papier, nous proposons une approche formelle d'adaptation des composants dont les protocoles comportementaux sont décrits par les automates d'interface, fin d'éliminer les disparités entre les composants aux niveaux des signatures et des protocoles. L'approche proposée tire profit de l'approche optimiste des automates d'interface. Ce formalisme permet de spécifer l'ordonnancement temporel des services requis et offerts des composants

    An {I/O} Automata-based Approach to Verify Component Compatibility: Application to the {CyCab} Car

    No full text
    International audienceAn interesting formal approach to specify component interfaces is interface automata based approach, which is proposed by L. Alfaro and T. Henzinger. These formalisms have the ability to model both the input and output requirements of components system. In this paper, we propose a method to enrich interface automata by the semantics of actions in order to verify components interoperability at the levels of signatures, semantics, and protocol interactions of actions. These interfaces consist of a set of required and offered actions specified by Pre and Post conditions. The verification of the compatibility between interface automata reuse the L.Alfaro and T.Henzinger proposed algorithm and adapt it by taking into account the action semantics. Our approach is illustrated by a case study of the vehicle CyCab

    Refinement of Interface Automata Strengthened by Action Semantics

    Get PDF
    International audienceInterface automata are light-weight models that capture the temporal interface behavior of software components. They have the ability to model both the input requirements and the output behavior of a component. They support the compatibility check between interface models to ensure a correct interaction between components and they adopt an alternating simulation approach to design refinement. In this paper, we extend our previous works on checking interface automata interoperability by adapting their alternating refinement relation to the action semantics. We show the relation between pre and post-conditions of transitions in the abstract version of an interface and their corresponding ones in its concrete version. We illustrate our extensions by a case study of the CyCab car component-based system

    Assembling Components using SysML with Non-Functional Requirements

    Get PDF
    International audienceNon-functional requirements of component based systems are important as their functional requirements, therefore they must be considered in components assembly. These properties are beforehand specified with SysML requirement diagram. We specify component based system architecture with SysML block definition diagram, and component behaviors with sequence diagrams. We propose to specify formally component interfaces with interface automata, obtained from requirement and sequence diagrams. In this formalism, transitions are annotated with costs to specify non-functional property. The compatibility between components is performed by synchronizing their interface automata. The approach is explained with the example of the electric car CyCab, where the costs are associated to energy consumption of component actions. Our approach verifies whether, a set of components, when composed according to the system architecture, achieve their tasks by respecting their non-functional requirements

    Adapting Components Behaviours using Interface Automata

    No full text
    International audienceOne of the principal goal of Component-Based Software Engineering (CBSE) is to allow the reuse of components in diverse situations without affecting their codes. To reach this goal, it is necessary to propose approaches to adapt a component with its environment when behavioural mismatches occur during their interactions. In this paper, we present a formal approach based on interface automata to adapt components in order to eliminate possible behavioural mismatches, and then insure more flexible interoperability between component

    Assembly of components based on interface automata and {UML} component model

    No full text
    International audienceWe propose an approach which combines component UML model and interface automata in order to assemble components and to verify their interoperability. We specify component based system architecture with component UML model, and component interfaces with interface automata. Interface automata is a common Input Output (I/O) automata-based formalism intended to specify the signature and the protocol level of component interfaces. We improve interface automata approach by component UML model, in order to consider system architecture, in component composition and interoperability verification methods. Therefore, we handle in interface automata, the connection between components, and the hierarchical connections between composite components and their subcomponents

    Object-Oriented Component-based Design using Behavioral Contracts: Application to Railway Systems

    No full text
    In this report, we propose a formal approach for the design of object-oriented component-based systems using behavioral contracts. This formalism merges interface automata describingcommunication protocols of components with the semantics of their operations. On grounds ofconsistency with the object-oriented paradigms, we revisit the notions of incremental design andindependent implementability of interface automata by novel definitions of components compatibility,composition, and refinement. Our work is illustrated by a design case study of CBTC railway systems

    SysML Model-Driven Approach to Verify Blocks Compatibility

    Get PDF
    International audienceIn the component paradigm, the system is seen as an assembly of heterogeneous components, where the system reliability depends on these components compatibility. In our approach, we focus on verifying compatibility of components modelled with SysML diagrams. Thus, we model component interactions with sequence diagrams (SDs) and components with SysML blocks. The SDs constitute a good start point for compatibility verification. However, this verification is still inapplicable directly on SDs, because they are expressed in informal language. Thus, to apply a verification method, it is necessary to translate the SDs into formal models, and then verify the wanted properties. In this paper, we propose a high-level model-driven approach which consists of an ATL grammar that automates the transformation of SDs into interface automata. Also, to allow an easy use of Ptolemy tool to verify properties on automata, we have proposed some Acceleo templates, which generate the Ptolemy entry specification
    corecore